草庐IT

SQL 语句

全部标签

php - 如何减少 IF 语句的数量?

我有很多IF语句,每个语句都启动一个函数。有没有明显的方法可以使这段代码更简单?每个IF启动不同的功能,但它仍然看起来有点矫枉过正。if($this->machine==''AND$this->date_from==''AND$this->date_to==''AND$this->date_like==''AND$this->article_or_tool==''){$this->AllTime();}if($this->machine0AND$this->date_from==''AND$this->date_to==''AND$this->date_like==''AND$this

php - 如何在 yii 中打印我的 sql 字符串?

我正在使用yii框架来实现一个新项目。我想在服务器上运行之前查看sql字符串。我已经在我的配置文件中启用了这段代码,但我仍然没有得到任何结果array('class'=>'CWebLogRoute',),在运行网页时,如何查看sql字符串? 最佳答案 尝试将其放在main.php(配置)中的组件下:'log'=>array('class'=>'CLogRouter','routes'=>array('weblogging'=>array('class'=>'CWebLogRoute','enabled'=>true,),),),然后

php - 在 sql 中多次使用相同的准备语句参数

我试图在我的sql中使用相同的参数,但它只识别第一个。看我的代码:$stmt=$dbh->prepare("SELECT(SELECTSUM(oq.value)FROMoperations_quotasASoqJOINoperationsASoONoq.operation=o.idWHEREo.user=:userANDo.type=1ANDoq.status=1)AStotal_incomes_open,(SELECTSUM(oq.value)FROMoperations_quotasASoqJOINoperationsASoONoq.operation=o.idWHEREo.use

php - 将此 MySQLi 查询编写为准备好的语句

我有一个现有的MySQLi查询:$conn=dbConnect('query');$galNumb="SELECTCOUNT(pj_gallery_id)FROMpj_galleriesWHEREproject={$project}";$gNumb=$conn->query($galNumb);$row=$gNumb->fetch_row();$galTotal=$row[0];这会计算每个项目与$project中包含的查询字符串中的值相匹配的画廊数量。它工作完美,但与准备好的语句相比并不安全。我已经研究了两天,无法学习如何将此语句编写为准备好的语句。我们将不胜感激任何和所有帮助。更新

php - 在 PHP PostgreSQL 中转义 SQL 查询

我有一个网站有很多PHP文件(真的很多...),它们使用了pg_query和pg_exec函数,但它们没有转义PostgreSQL查询中的撇号。但是,出于安全原因以及存储名称的能力我的数据库中的撇号我想为我的数据库输入添加一个转义机制。一个可能的解决方案是去遍历每个PHP文件并更改pg_query和pg_exec以使用pg_query_params但这都很耗时并且容易出错。一个好主意是以某种方式覆盖pg_query和pg_exec到包装函数,这将无需更改任何PHP文件即可进行转义,但在这种情况下,我想我将不得不更改PHP函数定义并重新编译它,这不是很理想。所以,这个问题是开放的,任何想

php - 这个 PDO 代码对 SQL 注入(inject)足够安全吗?

这个问题在这里已经有了答案:ArePDOpreparedstatementssufficienttopreventSQLinjection?(7个答案)关闭9年前。正如标题所说:这段代码对SQL注入(inject)足够安全吗?有没有更好的方法来防止SQL注入(inject)?setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$db->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);$query=$db->prepare("INSERTINTO`$usertable`(first_n

php - SQL 命令的类型强制转换警告

我已经坚持了一段时间了,我知道这是一个非常初学者,但找不到任何类似的问题。我正在尝试显示我最后一个主题的详细信息,但我收到了警告。*Warning:pg_exec()[function.pg-exec]:Queryfailed:ERROR:operatordoesnotexist:charactervarying=integerLINE4:WHEREt_cat=3^HINT:Nooperatormatchesthegivennameandargumenttype(s).Youmightneedtoaddexplicittypecasts.*感谢任何帮助$topicsearh=pg_ex

php - ZF2 + Zend\Db\Sql\Insert + 重复 key 更新

我想使用带有选项ONDUPLICATEKEYUPDATE的Zend\Db\Sql\Insert插入一些数据其实我用的是这种查询:INSERTINTO`user_data`(`user_id`,`category`,`value`)VALUES(12,'cat2','mycategoryvalue')ONDUPLICATEKEYUPDATE`user_id`=VALUES(`user_id`),`category`=VALUES(`category`),`value`=VALUES(`value`);与$this->dbAdapter->query($sql,Adapter::QUERY

php - Zend 框架 2 : Getting an ordered SQL call

我一直在尝试获取一个字段的ASC/DESC调用顺序(假设已创建),但我似乎无法弄清楚如何在ZF2中执行此操作。我哪里错了..?namespaceTodo\Model;classTodoTableextendsAbstractTableGateway{publicfunction__construct(Adapter$adapter){$this->adapter=$adapter;$this->resultSetPrototype=newResultSet();$this->resultSetPrototype->setArrayObjectPrototype(newTodo());$

if-statement - .phtml 和 .php 中的 If 语句

我无法理解文件扩展名.phtml。根据我的阅读,它应该是一种同时使用html和php的方法(如果我弄错了请纠正我)。我想做的很简单,我有一个php变量,如果它满足特定条件,则应执行一些html代码,否则应执行其他一些html代码。我的代码是:12当我将它保存为.php文件并运行时,我得到的输出仅为“1”,但对于.phtml,我得到的是“12”。谁能解释一下为什么? 最佳答案 你需要配置运行.php/.phtml扩展,所以AddTypeapplication/x-httpd-php.php.phtml.html在你的httpd.con